setuserscreen{}settransfer offbits offbits onbits add div setgray end}def
/in{72 mul}bdf
/cm{28.34646 mul}bdf
/picas{12 mul}bdf
/pic{12 mul}bdf
/ddt{1.06554 mul}bdf
/ccr{12.78652 mul}bdf
/stringtype{8 1 72 300 32 div div setpattern}bdf
/integertype{setgray}bdf
/makepattern{dup type exec}bdf
/renderdict 20 dict def
renderdict begin
/nm mxdf/cm mxdf
end
/fix{m itransform}bdf
/d2{sub 2 div}bdf
/zxdf{exch dup 0 eq{pop .001}if def}bdf
/showpage{}def
/doarc{fix 2 copy mark 7 3 roll 1 arcto cleartomark}bdf
/savematrices{renderdict begin gsave concat /cm cm currentmatrix def grestore gsave concat sds}bdf
/renderpath{
{gsave setrgbcolor T F 5 index patfill setrgbcolor F exch F exch patfill grestore
}if{setrgbcolor 6 4 roll cm setmatrix scale 1 setlinewidth 3 index whitepat eq{
setrgbcolor stroke pop}{3 index blackpat eq{stroke pop pop pop pop}{
strokepath T T 5 index patfill setrgbcolor F exch T exch patfill}ifelse
}ifelse}if grestore end
}bdf
/drawrect{savematrices/b xdf/r xdf/u xdf/l xdf newpath l u moveto r u lineto r b lineto l b lineto closepath renderpath}bdf
/drawroundrect{savematrices/b xdf/r xdf/u xdf/l xdf/ry zxdf/rx zxdf newpath l b u d2 u add moveto/m rx ry tm scale def m concat mark l u fix r u doarc r b doarc l b doarc l u doarc closepath cleartomark renderpath}bdf
/drawoval{savematrices/b xdf/r xdf/u xdf/l xdf newpath l b u d2 u add moveto /m r l d2 b u d2 tm scale def m concat mark l u fix r u doarc r b doarc l b doarc l u doarc closepath cleartomark renderpath}bdf
/drawarc{savematrices/cy xdf/cx xdf/ry zxdf/rx zxdf/l xdf/b xdf/u xdf newpath /r xdf/m rx ry tm scale def b l gt{/l b /b l def def}if
m concat cx cy fix 1 b l arc r{u 0 eq{cx cy fix lineto}if closepath}{u 0 eq{dup{gsave
cx cy fix lineto closepath 8 copy pop setrgbcolor T F 5 index patfill setrgbcolor F exch F exch patfill
grestore}if}if}ifelse renderpath}bdf
/drawbezier{savematrices/u xdf aload pop /cy xdf/cx xdf/ry xdf/rx xdf newpath rx ry moveto
counttomark 2 sub{3 -1 roll aload pop 6 2 roll 4 2 roll 8 2 roll curveto}repeat
u{cx cy rx ry curveto closepath}{pop pop}ifelse pop renderpath}bdf
/drawpoly{savematrices/u xdf newpath aload pop moveto counttomark {aload pop lineto}repeat u{closepath}if pop renderpath}bdf
/drawline{savematrices newpath 4 2 roll moveto lineto T F renderpath}bdf